package com.szsh.aiot.hsm.service;

import com.szsh.aiot.common.core.domain.AjaxResult;


/**
 * @Description:终端检测-一键扫描功能
 * @Date 2023/10/25: 9:07
 * @Author: LOADING>>>>>
 */

public interface TerminalService {

    /**
     * 请求扫描设备
     *
     * @param gatewayMac
     *            网关设备的MAC地址
     * @param broadbandNO
     *            宽带账号
     * @return 下发扫描成功返回scanID，失败返回空字符串
     */
    AjaxResult  requireScan(String gatewayMac, String broadbandNO);

    /**
     * 是否扫描结束
     *
     * @param scanID
     * @return
     */
    AjaxResult isScanning(String scanID);

    /**
     * 检索出宽带账号下所有的<b>在线</b>设备列表
     *
     * @param broadbandNO
     *            宽带账号
     * @return 设备列表
     */
    AjaxResult queryOnlineDevice(String broadbandNO);


    /**
     * 接口请求校验网关设备的密码强度，如果为弱密码则写入设备漏洞记录表中， 前端页面查询时则可以通过此记录来做相应的提示与展示。
     *
     * @param broadbandNO
     *            用户宽带账号
     * @param gatewayMac
     *            网关设备的MAC地址
     * @param scanID
     *            扫描ID
     */
    AjaxResult checkGatewayPwdStrength(String broadbandNO, String gatewayMac, String scanID);

    /**
     * 检索出宽带账号下所有的具有安全风险的<b>在线</b>设备列表
     *
     * @param broadbandNO
     *            宽带账号
     * @return 设备列表
     */
    AjaxResult queryDeviceLeaks(String broadbandNO);

    /**
     * 获取网络防护开关
     *
     * @param broadbandNO
     * @param scanID
     * @return
     */
    AjaxResult  getNetSwitch(String broadbandNO, String scanID);

}
